package com.fantastic.service.zjs;

import com.fantastic.model.pojo.zjs.AccountCoupons;
import com.fantastic.model.vo.zjs.AccountCouponsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: rxx
 * @since: 2024/6/4 08:58
 * @description: 用户优惠券关联表service接口
 */

public interface AccountCouponsService {

    /**
     * 查询用户优惠券关联信息
     *
     * @param accountCoupons
     * @return
     */
    List<AccountCoupons> listAccountCoupons(AccountCoupons accountCoupons);

    /**
     * 查询单个用户优惠卷信息
     *
     * @param accountId
     * @return
     */
    AccountCouponsVo getAccountCoupons(Integer accountId);

    /**
     * 添加用户优惠券关联信息
     *
     * @param accountCoupons
     * @return
     */
    Integer insertAccountCoupons(AccountCoupons accountCoupons);

    /**
     * 账号通过积分兑换优惠券
     *
     * @param accountId        账号id
     * @param couponId         优惠卷id
     * @param integralExchange 所需要的积分
     * @param integralId       积分商品的id
     * @param integralSell     兑换的数量
     * @return
     */
    Integer creditsExchange(Integer accountId, Integer couponId, Integer integralExchange, Integer integralId, Integer integralSell);

    /**
     * 删除用户优惠券关联信息
     *
     * @param accountId
     * @param couponId
     * @return
     */
    Integer deleteAccountCoupons(@Param("accountId") Integer accountId, @Param("couponId") Integer couponId);

}
